[Feature] Add PassConfig for Controlling Let Statement Inlining in Simplify Pass#1769
Conversation
…ion Elimination - Added a new configuration option `tilelang_enable_simplify_let_inline` to enable inlining of let statements during simplification. - Updated the Simplify pass to conditionally inline let statements based on the new configuration. - Integrated common subexpression elimination into the device code generation process to optimize performance. - Enhanced test coverage for the Simplify pass, including various scenarios to validate simplification behavior.
|
👋 Hi! Thank you for contributing to the TileLang project. Please remember to run We appreciate you taking this step! Our team will review your contribution, and we look forward to your awesome work! 🚀 |
📝 WalkthroughWalkthroughThis PR adds a configurable flag Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
enable_simplify_let_inlineto the TileLang Simplify pass that controls whether let statements should be inlined during simplificationPassConfigKeyenum inpass_config.pywith comprehensive sub-config keys for all Simplify pass optionsChanges
C++ Changes (
src/transform/simplify.cc)enable_simplify_let_inlinefield toSimplifyConfigNodewith default valuetrueCanInlineLetStmtto check the config before allowing let statement inliningPython Changes (
tilelang/transform/pass_config.py)TL_SIMPLIFYdocumentation to accurately describe the dict-based configuration structureTL_SIMPLIFY_TRANSITIVELY_PROVE_INEQUALITIESTL_SIMPLIFY_CONVERT_BOOLEAN_TO_AND_OF_ORSTL_SIMPLIFY_APPLY_CONSTRAINTS_TO_BOOLEAN_BRANCHESTL_SIMPLIFY_PROPAGATE_KNOWNS_TO_PROVE_CONDITIONALTL_SIMPLIFY_PROPAGATE_KNOWNS_TO_SIMPLIFY_EXPRESSIONSTL_SIMPLIFY_ENABLE_LET_INLINETest Changes (
testing/python/transform/test_tilelang_transform_simplify.py)PassConfigKeyenum values instead of hardcoded stringsenable_simplify_let_inlineconfigurationUsage
Test plan
test_tilelang_transform_simplify.py🤖 Generated with Claude Code
Summary by CodeRabbit
Release Notes
New Features
Tests